Docker Compose

您所在的位置:网站首页 docker-compose 重启后没变 Docker Compose

Docker Compose

#Docker Compose | 来源: 网络整理| 查看: 265

永久地址:Docker Compose —— 开机自动启动应用容器(保存网址不迷路 🙃)

 

问题描述

当我们使用 Docker Compose 启动应用程序之后,如果主机发生重启,应用容器无法自动启动。

我们可以使用 Docker Compose 的重启策略,但是也存在一些问题。

该笔记将记录:1)自动启动服务的解决方案、2)及其常见问题和解决方法

方法一、通过 Docker Restart Policy 方法

在 Docker 中,支持 --restart 选项,来控制容器自动启动。在 Docker Compose 中,应该使用 restart 属性:

version: "3.6" services: frontend: image: frontend:v1.0.0 depends_on: - backend restart: always backend: image: backend:v1.0.0 restart: always

注意事项: 1)Docker 并不知道这些服务的依赖关系及启动顺序,需要我们精心编排 docker-compose.yaml 文件; 2)Docker Compose 不支持 deploy:restart_policy 属性,该属性只能用于 a swarm with docker stack deploy 环境;

方法二、通过进程管理服务(推荐)

该方法本质上还是在执行 docker-compose 命令。

使用 systemd 管理

如下示例,可以根据需要进行设置:

# cat /etc/systemd/system/docker-compose-app.service [Unit] Description=Docker Compose Application Service Requires=docker.service After=docker.service [Service] Type=oneshot RemainAfterExit=yes WorkingDirectory=/srv/docker/app/ ExecStart=/usr/local/bin/docker-compose up -d ExecStop=/usr/local/bin/docker-compose down TimeoutStartSec=0 [Install] WantedBy=multi-user.target 相关文章

「Docker Compose」- docker-compose.yaml(学习笔记)「Docker Compose」- 在构建时,使用网络加速(代理)「Docker Compose」- 在 CI/CD 中,分离 docker-compose build 与 docker-compose up 指令「Docker Compose」- 向远程主机部署服务「Docker Compose」- 重启特定服务(容器),并使配置生效「Docker Compose」- 配置 Bash 补全(Bash Completion)「Docker Compose」- 生成镜像构建命令

参考文献

Start containers automatically | Docker DocumentationHow to run docker-compose up -d at system start up? - Stack OverflowCompose file version 3 reference | Docker Documentation



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3